package leetcode.bit;

/**
 * 给定一个整数，写一个函数来判断它是否是 3 的幂次方。如果是，返回 true ；否则，返回 false 。

整数 n 是 3 的幂次方需满足：存在整数 x 使得 n == 3x



示例 1：

输入：n = 27
输出：true
示例 2：

输入：n = 0
输出：false
示例 3：

输入：n = 9
输出：true
示例 4：

输入：n = 45
输出：false


提示：

-231 <= n <= 231 - 1
 */

public class LeetCode326_IsPowerOfThree {
    /**
     * 用int范围内的3的幂的最大值 % n 是否余0
     */
    public boolean isPowerOfThree(int n) {
        int m = 1162261467;
        return (n > 0) && (m % n) == 0;
    }
    
    public static void main(String[] args){
        System.out.println("Integer.MAX_VALUE = " + Integer.MAX_VALUE);
        System.out.println("Math.pow() = " + Math.pow(3, 19));
    }
}